package Grouping; import Command.LDrawPart; import Connectivity.Direction6T; import Connectivity.Hole; import Connectivity.IConnectivity; import Connectivity.Stud; public class ConnectionPoint { private LDrawPart part; private Boolean isStudToHoleConnection; private IConnectivity connectivity_from; private IConnectivity connectivity_to; public ConnectionPoint(LDrawPart part, IConnectivity from, IConnectivity to) { if (from.getConnectivity() instanceof Stud && to.getConnectivity() instanceof Hole) isStudToHoleConnection = true; else if (from.getConnectivity() instanceof Hole && to.getConnectivity() instanceof Stud) isStudToHoleConnection = false; else isStudToHoleConnection = null; this.part = part; this.connectivity_from = from; this.connectivity_to = to; } public Boolean isStudToHoleConnection() { return isStudToHoleConnection; } public LDrawPart getPart() { return part; } public IConnectivity getFrom() { return connectivity_from; } public IConnectivity getTo() { return connectivity_to; } @Override public boolean equals(Object obj) { if (obj instanceof ConnectionPoint == false) return false; if (((ConnectionPoint) obj).getPart() != this.part) return false; if (((ConnectionPoint) obj).getFrom() != this.connectivity_from) return false; if (((ConnectionPoint) obj).getTo() != this.connectivity_to) return false; return true; } }